iT邦幫忙

2023 iThome 鐵人賽

DAY 28
1
AI & Data

用Python程式進行股票技術分析系列 第 28

Day28 建立技術型態資料集

  • 分享至 

  • xImage
  •  

就如Day26所說的,接下來會建立一個「底部型態」之「實驗資料集」。 受限於資料來源與作業時間,因此這個資料集僅包含幾檔股票與百筆左右的資料(圖像與標註)。

資料來源

一般我們在看市面上股票書籍對於技術型態的說明,很多時候一個型態就僅有一張圖說明(下圖摘自「專買黑馬股 出手就賺30%」):
Imgur
因此對於技術型態的資料來說,如果沒有專人去從股票歷史資料中進行篩選與註記;所能得到的資料數量是很有限的,這次從股票投資筆記中只找到37張有標註底部型態的K線圖。股票老師在看盤軟體上標註底部型態的K線圖如下所示:
Imgur
資料不夠多(或不夠多樣)將會造成模型在訓練之後會有過擬合的現象,所以才稱本日進行的是「實驗資料集」。若後續要把技術型態偵測模型做到可用的程度,製作完善的資料集將會是必不可少的步驟。

擷取K線圖並標註底部型態

接下來就開始進行資料集製作程序。在此是以人工標註(Human Labeling)方式進行,也對應至Day1「主觀性質客觀化」的方式一(將在看盤軟體繪製的圖形與線段以人工方式轉換成數據)。首先設定看盤軟體將主圖上的移動平均線與格線去除並刪除所有子圖(包含「成交量」),讓K線圖呈現在最單純的狀態:
Imgur
之後將K線圖擷取下來存成圖檔,如下所示:
Imgur
接著使用LabelImg程式來標註底部型態:
Imgur

影像資料擴增 (Image Data Augmentation)

由於資料筆數過少,因此需要進行資料擴增。在Day26時提到stock-pattern-recorginition專案,它使用了資料變異法的方式來增加資料筆數:
Imgur
但由於上述的方式有可能改動型態的特性(需針對特定型態用計算方式去做圖形的拆解與組合),因此在本日的資料集製作過程中並無法使用這種方式;最後使用簡單的水平移動的方式來擴增資料,也就是在看盤軟體上移動日期來產生新的K線圖。下圖就是前述底部型態K線圖水平移動後的結果:
Imgur
接著使用LabelImg進行標註:
Imgur

明天Day29就會用這個實驗資料集來建置與訓練技術型態的物件偵測模型。


上一篇
Day27 簡述物件偵測技術
下一篇
Day29 建置型態識別之物件偵測模型
系列文
用Python程式進行股票技術分析30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言